# !pip install git+https://github.com/alberanid/imdbpy
# !pip install pandas
# !pip install numpy
# !pip install matplotlib
# !pip install seaborn
# !pip install pandas_profiling --upgrade
# !pip install plotly
# ! pip install wordcloud
# ! pip install Flask
# Import Dataset
# Import File from Loacal Drive
# from google.colab import files
# data_to_load = files.upload()
# from google.colab import drive
# drive.mount('/content/drive')
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
import collections
import plotly.express as px
import plotly.graph_objects as go
import nltk
import re
from nltk.corpus import stopwords
from nltk.tokenize import word_tokenize
from nltk.probability import FreqDist
from nltk.util import ngrams
from plotly.subplots import make_subplots
from plotly.offline import iplot, init_notebook_mode
from wordcloud import WordCloud, STOPWORDS
from pandas_profiling import ProfileReport
%matplotlib inline
warnings.filterwarnings("ignore")
nltk.download('all')
[nltk_data] Downloading collection 'all' [nltk_data] | [nltk_data] | Downloading package abc to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package abc is already up-to-date! [nltk_data] | Downloading package alpino to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package alpino is already up-to-date! [nltk_data] | Downloading package biocreative_ppi to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package biocreative_ppi is already up-to-date! [nltk_data] | Downloading package brown to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package brown is already up-to-date! [nltk_data] | Downloading package brown_tei to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package brown_tei is already up-to-date! [nltk_data] | Downloading package cess_cat to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package cess_cat is already up-to-date! [nltk_data] | Downloading package cess_esp to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package cess_esp is already up-to-date! [nltk_data] | Downloading package chat80 to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package chat80 is already up-to-date! [nltk_data] | Downloading package city_database to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package city_database is already up-to-date! [nltk_data] | Downloading package cmudict to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package cmudict is already up-to-date! [nltk_data] | Downloading package comparative_sentences to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package comparative_sentences is already up-to- [nltk_data] | date! [nltk_data] | Downloading package comtrans to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package comtrans is already up-to-date! [nltk_data] | Downloading package conll2000 to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package conll2000 is already up-to-date! [nltk_data] | Downloading package conll2002 to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package conll2002 is already up-to-date! [nltk_data] | Downloading package conll2007 to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package conll2007 is already up-to-date! [nltk_data] | Downloading package crubadan to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package crubadan is already up-to-date! [nltk_data] | Downloading package dependency_treebank to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package dependency_treebank is already up-to-date! [nltk_data] | Downloading package dolch to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package dolch is already up-to-date! [nltk_data] | Downloading package europarl_raw to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package europarl_raw is already up-to-date! [nltk_data] | Downloading package floresta to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package floresta is already up-to-date! [nltk_data] | Downloading package framenet_v15 to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package framenet_v15 is already up-to-date! [nltk_data] | Downloading package framenet_v17 to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package framenet_v17 is already up-to-date! [nltk_data] | Downloading package gazetteers to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package gazetteers is already up-to-date! [nltk_data] | Downloading package genesis to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package genesis is already up-to-date! [nltk_data] | Downloading package gutenberg to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package gutenberg is already up-to-date! [nltk_data] | Downloading package ieer to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package ieer is already up-to-date! [nltk_data] | Downloading package inaugural to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package inaugural is already up-to-date! [nltk_data] | Downloading package indian to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package indian is already up-to-date! [nltk_data] | Downloading package jeita to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package jeita is already up-to-date! [nltk_data] | Downloading package kimmo to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package kimmo is already up-to-date! [nltk_data] | Downloading package knbc to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package knbc is already up-to-date! [nltk_data] | Downloading package lin_thesaurus to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package lin_thesaurus is already up-to-date! [nltk_data] | Downloading package mac_morpho to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package mac_morpho is already up-to-date! [nltk_data] | Downloading package machado to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package machado is already up-to-date! [nltk_data] | Downloading package masc_tagged to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package masc_tagged is already up-to-date! [nltk_data] | Downloading package moses_sample to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package moses_sample is already up-to-date! [nltk_data] | Downloading package movie_reviews to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package movie_reviews is already up-to-date! [nltk_data] | Downloading package names to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package names is already up-to-date! [nltk_data] | Downloading package nombank.1.0 to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package nombank.1.0 is already up-to-date! [nltk_data] | Downloading package nps_chat to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package nps_chat is already up-to-date! [nltk_data] | Downloading package omw to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package omw is already up-to-date! [nltk_data] | Downloading package opinion_lexicon to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package opinion_lexicon is already up-to-date! [nltk_data] | Downloading package paradigms to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package paradigms is already up-to-date! [nltk_data] | Downloading package pil to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package pil is already up-to-date! [nltk_data] | Downloading package pl196x to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package pl196x is already up-to-date! [nltk_data] | Downloading package ppattach to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package ppattach is already up-to-date! [nltk_data] | Downloading package problem_reports to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package problem_reports is already up-to-date! [nltk_data] | Downloading package propbank to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package propbank is already up-to-date! [nltk_data] | Downloading package ptb to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package ptb is already up-to-date! [nltk_data] | Downloading package product_reviews_1 to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package product_reviews_1 is already up-to-date! [nltk_data] | Downloading package product_reviews_2 to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package product_reviews_2 is already up-to-date! [nltk_data] | Downloading package pros_cons to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package pros_cons is already up-to-date! [nltk_data] | Downloading package qc to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package qc is already up-to-date! [nltk_data] | Downloading package reuters to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package reuters is already up-to-date! [nltk_data] | Downloading package rte to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package rte is already up-to-date! [nltk_data] | Downloading package semcor to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package semcor is already up-to-date! [nltk_data] | Downloading package senseval to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package senseval is already up-to-date! [nltk_data] | Downloading package sentiwordnet to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package sentiwordnet is already up-to-date! [nltk_data] | Downloading package sentence_polarity to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package sentence_polarity is already up-to-date! [nltk_data] | Downloading package shakespeare to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package shakespeare is already up-to-date! [nltk_data] | Downloading package sinica_treebank to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package sinica_treebank is already up-to-date! [nltk_data] | Downloading package smultron to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package smultron is already up-to-date! [nltk_data] | Downloading package state_union to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package state_union is already up-to-date! [nltk_data] | Downloading package stopwords to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package stopwords is already up-to-date! [nltk_data] | Downloading package subjectivity to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package subjectivity is already up-to-date! [nltk_data] | Downloading package swadesh to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package swadesh is already up-to-date! [nltk_data] | Downloading package switchboard to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package switchboard is already up-to-date! [nltk_data] | Downloading package timit to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package timit is already up-to-date! [nltk_data] | Downloading package toolbox to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package toolbox is already up-to-date! [nltk_data] | Downloading package treebank to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package treebank is already up-to-date! [nltk_data] | Downloading package twitter_samples to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package twitter_samples is already up-to-date! [nltk_data] | Downloading package udhr to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package udhr is already up-to-date! [nltk_data] | Downloading package udhr2 to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package udhr2 is already up-to-date! [nltk_data] | Downloading package unicode_samples to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package unicode_samples is already up-to-date! [nltk_data] | Downloading package universal_treebanks_v20 to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package universal_treebanks_v20 is already up-to- [nltk_data] | date! [nltk_data] | Downloading package verbnet to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package verbnet is already up-to-date! [nltk_data] | Downloading package verbnet3 to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package verbnet3 is already up-to-date! [nltk_data] | Downloading package webtext to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package webtext is already up-to-date! [nltk_data] | Downloading package wordnet to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package wordnet is already up-to-date! [nltk_data] | Downloading package wordnet_ic to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package wordnet_ic is already up-to-date! [nltk_data] | Downloading package words to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package words is already up-to-date! [nltk_data] | Downloading package ycoe to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package ycoe is already up-to-date! [nltk_data] | Downloading package rslp to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package rslp is already up-to-date! [nltk_data] | Downloading package maxent_treebank_pos_tagger to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package maxent_treebank_pos_tagger is already up- [nltk_data] | to-date! [nltk_data] | Downloading package universal_tagset to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package universal_tagset is already up-to-date! [nltk_data] | Downloading package maxent_ne_chunker to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package maxent_ne_chunker is already up-to-date! [nltk_data] | Downloading package punkt to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package punkt is already up-to-date! [nltk_data] | Downloading package book_grammars to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package book_grammars is already up-to-date! [nltk_data] | Downloading package sample_grammars to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package sample_grammars is already up-to-date! [nltk_data] | Downloading package spanish_grammars to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package spanish_grammars is already up-to-date! [nltk_data] | Downloading package basque_grammars to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package basque_grammars is already up-to-date! [nltk_data] | Downloading package large_grammars to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package large_grammars is already up-to-date! [nltk_data] | Downloading package tagsets to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package tagsets is already up-to-date! [nltk_data] | Downloading package snowball_data to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package snowball_data is already up-to-date! [nltk_data] | Downloading package bllip_wsj_no_aux to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package bllip_wsj_no_aux is already up-to-date! [nltk_data] | Downloading package word2vec_sample to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package word2vec_sample is already up-to-date! [nltk_data] | Downloading package panlex_swadesh to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package panlex_swadesh is already up-to-date! [nltk_data] | Downloading package mte_teip5 to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package mte_teip5 is already up-to-date! [nltk_data] | Downloading package averaged_perceptron_tagger to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package averaged_perceptron_tagger is already up- [nltk_data] | to-date! [nltk_data] | Downloading package averaged_perceptron_tagger_ru to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package averaged_perceptron_tagger_ru is already [nltk_data] | up-to-date! [nltk_data] | Downloading package perluniprops to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package perluniprops is already up-to-date! [nltk_data] | Downloading package nonbreaking_prefixes to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package nonbreaking_prefixes is already up-to-date! [nltk_data] | Downloading package vader_lexicon to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package vader_lexicon is already up-to-date! [nltk_data] | Downloading package porter_test to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package porter_test is already up-to-date! [nltk_data] | Downloading package wmt15_eval to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package wmt15_eval is already up-to-date! [nltk_data] | Downloading package mwa_ppdb to [nltk_data] | C:\Users\pawan\AppData\Roaming\nltk_data... [nltk_data] | Package mwa_ppdb is already up-to-date! [nltk_data] | [nltk_data] Done downloading collection all
True
# path = '/content/drive/MyDrive/Files/'
path = 'C:\\Users\\pawan\\OneDrive\\Desktop\\ott\\Data\\'
df_tvshows = pd.read_csv(path + 'otttvshows.csv')
df_tvshows.head()
| ID | Title | Year | Age | IMDb | Rotten Tomatoes | Directors | Cast | Genres | Country | Language | Plotline | Runtime | Kind | Seasons | Netflix | Hulu | Prime Video | Disney+ | Type | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | Snowpiercer | 2013 | 18+ | 6.9 | 94% | NaN | Daveed Diggs,Iddo Goldberg,Mickey Sumner,Aliso... | Action,Drama,Sci-Fi,Thriller | United States | English | Set seven years after the world has become a f... | 60.0 | tv series | 3.0 | 1 | 0 | 0 | 0 | 1 |
| 1 | 2 | Philadelphia | 1993 | 13+ | 8.8 | 80% | NaN | Charlie Day,Glenn Howerton,Rob McElhenney,Kait... | Comedy | United States | English | The gang, 5 raging alcoholic, narcissists run ... | 22.0 | tv series | 18.0 | 1 | 0 | 0 | 0 | 1 |
| 2 | 3 | Roma | 2018 | 18+ | 8.7 | 93% | NaN | Kevin McKidd,Ray Stevenson,Polly Walker,Kerry ... | Action,Drama,History,Romance,War | United Kingdom,United States | English | In this British historical drama, the turbulen... | 52.0 | tv series | 2.0 | 1 | 0 | 0 | 0 | 1 |
| 3 | 4 | Amy | 2015 | 18+ | 7.0 | 87% | NaN | Amy Brenneman,Richard T. Jones,Jessica Tuck,Ma... | Drama | United States | English | A family drama focused on three generations of... | 60.0 | tv series | 6.0 | 1 | 0 | 1 | 1 | 1 |
| 4 | 5 | The Young Offenders | 2016 | NaN | 8.0 | 100% | NaN | Alex Murphy,Chris Walley,Hilary Rose,Dominic M... | Comedy | United Kingdom,Ireland | English | NaN | 30.0 | tv series | 3.0 | 1 | 0 | 0 | 0 | 1 |
# profile = ProfileReport(df_tvshows)
# profile
def data_investigate(df):
print('No of Rows : ', df.shape[0])
print('No of Coloums : ', df.shape[1])
print('**'*25)
print('Colums Names : \n', df.columns)
print('**'*25)
print('Datatype of Columns : \n', df.dtypes)
print('**'*25)
print('Missing Values : ')
c = df.isnull().sum()
c = c[c > 0]
print(c)
print('**'*25)
print('Missing vaules %age wise :\n')
print((100*(df.isnull().sum()/len(df.index))))
print('**'*25)
print('Pictorial Representation : ')
plt.figure(figsize = (10, 10))
sns.heatmap(df.isnull(), yticklabels = False, cbar = False)
plt.show()
data_investigate(df_tvshows)
No of Rows : 5432
No of Coloums : 20
**************************************************
Colums Names :
Index(['ID', 'Title', 'Year', 'Age', 'IMDb', 'Rotten Tomatoes', 'Directors',
'Cast', 'Genres', 'Country', 'Language', 'Plotline', 'Runtime', 'Kind',
'Seasons', 'Netflix', 'Hulu', 'Prime Video', 'Disney+', 'Type'],
dtype='object')
**************************************************
Datatype of Columns :
ID int64
Title object
Year int64
Age object
IMDb float64
Rotten Tomatoes object
Directors object
Cast object
Genres object
Country object
Language object
Plotline object
Runtime float64
Kind object
Seasons float64
Netflix int64
Hulu int64
Prime Video int64
Disney+ int64
Type int64
dtype: object
**************************************************
Missing Values :
Age 1954
IMDb 556
Rotten Tomatoes 4194
Directors 5158
Cast 486
Genres 323
Country 549
Language 638
Plotline 2493
Runtime 1410
Seasons 679
dtype: int64
**************************************************
Missing vaules %age wise :
ID 0.000000
Title 0.000000
Year 0.000000
Age 35.972018
IMDb 10.235641
Rotten Tomatoes 77.209131
Directors 94.955817
Cast 8.946981
Genres 5.946244
Country 10.106775
Language 11.745214
Plotline 45.894698
Runtime 25.957290
Kind 0.000000
Seasons 12.500000
Netflix 0.000000
Hulu 0.000000
Prime Video 0.000000
Disney+ 0.000000
Type 0.000000
dtype: float64
**************************************************
Pictorial Representation :
# ID
# df_tvshows = df_tvshows.drop(['ID'], axis = 1)
# Age
df_tvshows.loc[df_tvshows['Age'].isnull() & df_tvshows['Disney+'] == 1, "Age"] = '13'
# df_tvshows.fillna({'Age' : 18}, inplace = True)
df_tvshows.fillna({'Age' : 'NR'}, inplace = True)
df_tvshows['Age'].replace({'all': '0'}, inplace = True)
df_tvshows['Age'].replace({'7+': '7'}, inplace = True)
df_tvshows['Age'].replace({'13+': '13'}, inplace = True)
df_tvshows['Age'].replace({'16+': '16'}, inplace = True)
df_tvshows['Age'].replace({'18+': '18'}, inplace = True)
# df_tvshows['Age'] = df_tvshows['Age'].astype(int)
# IMDb
# df_tvshows.fillna({'IMDb' : df_tvshows['IMDb'].mean()}, inplace = True)
# df_tvshows.fillna({'IMDb' : df_tvshows['IMDb'].median()}, inplace = True)
df_tvshows.fillna({'IMDb' : "NA"}, inplace = True)
# Rotten Tomatoes
df_tvshows['Rotten Tomatoes'] = df_tvshows['Rotten Tomatoes'][df_tvshows['Rotten Tomatoes'].notnull()].str.replace('%', '').astype(int)
# df_tvshows['Rotten Tomatoes'] = df_tvshows['Rotten Tomatoes'][df_tvshows['Rotten Tomatoes'].notnull()].astype(int)
# df_tvshows.fillna({'Rotten Tomatoes' : df_tvshows['Rotten Tomatoes'].mean()}, inplace = True)
# df_tvshows.fillna({'Rotten Tomatoes' : df_tvshows['Rotten Tomatoes'].median()}, inplace = True)
# df_tvshows['Rotten Tomatoes'] = df_tvshows['Rotten Tomatoes'].astype(int)
df_tvshows.fillna({'Rotten Tomatoes' : "NA"}, inplace = True)
# Directors
# df_tvshows = df_tvshows.drop(['Directors'], axis = 1)
df_tvshows.fillna({'Directors' : "NA"}, inplace = True)
# Cast
df_tvshows.fillna({'Cast' : "NA"}, inplace = True)
# Genres
df_tvshows.fillna({'Genres': "NA"}, inplace = True)
# Country
df_tvshows.fillna({'Country': "NA"}, inplace = True)
# Language
df_tvshows.fillna({'Language': "NA"}, inplace = True)
# Plotline
df_tvshows.fillna({'Plotline': "NA"}, inplace = True)
# Runtime
# df_tvshows.fillna({'Runtime' : df_tvshows['Runtime'].mean()}, inplace = True)
# df_tvshows['Runtime'] = df_tvshows['Runtime'].astype(int)
df_tvshows.fillna({'Runtime' : "NA"}, inplace = True)
# Kind
# df_tvshows.fillna({'Kind': "NA"}, inplace = True)
# Type
# df_tvshows.fillna({'Type': "NA"}, inplace = True)
# df_tvshows = df_tvshows.drop(['Type'], axis = 1)
# Seasons
# df_tvshows.fillna({'Seasons': 1}, inplace = True)
df_tvshows.fillna({'Seasons': "NA"}, inplace = True)
# df_tvshows = df_tvshows.drop(['Seasons'], axis = 1)
# df_tvshows['Seasons'] = df_tvshows['Seasons'].astype(int)
# df_tvshows.fillna({'Seasons' : df_tvshows['Seasons'].mean()}, inplace = True)
# df_tvshows['Seasons'] = df_tvshows['Seasons'].astype(int)
# Service Provider
df_tvshows['Service Provider'] = df_tvshows.loc[:, ['Netflix', 'Prime Video', 'Disney+', 'Hulu']].idxmax(axis = 1)
# df_tvshows.drop(['Netflix','Prime Video','Disney+','Hulu'], axis = 1)
# Removing Duplicate and Missing Entries
df_tvshows.dropna(how = 'any', inplace = True)
df_tvshows.drop_duplicates(inplace = True)
data_investigate(df_tvshows)
No of Rows : 5432
No of Coloums : 21
**************************************************
Colums Names :
Index(['ID', 'Title', 'Year', 'Age', 'IMDb', 'Rotten Tomatoes', 'Directors',
'Cast', 'Genres', 'Country', 'Language', 'Plotline', 'Runtime', 'Kind',
'Seasons', 'Netflix', 'Hulu', 'Prime Video', 'Disney+', 'Type',
'Service Provider'],
dtype='object')
**************************************************
Datatype of Columns :
ID int64
Title object
Year int64
Age object
IMDb object
Rotten Tomatoes object
Directors object
Cast object
Genres object
Country object
Language object
Plotline object
Runtime object
Kind object
Seasons int32
Netflix int64
Hulu int64
Prime Video int64
Disney+ int64
Type int64
Service Provider object
dtype: object
**************************************************
Missing Values :
Series([], dtype: int64)
**************************************************
Missing vaules %age wise :
ID 0.0
Title 0.0
Year 0.0
Age 0.0
IMDb 0.0
Rotten Tomatoes 0.0
Directors 0.0
Cast 0.0
Genres 0.0
Country 0.0
Language 0.0
Plotline 0.0
Runtime 0.0
Kind 0.0
Seasons 0.0
Netflix 0.0
Hulu 0.0
Prime Video 0.0
Disney+ 0.0
Type 0.0
Service Provider 0.0
dtype: float64
**************************************************
Pictorial Representation :
df_tvshows.head()
| ID | Title | Year | Age | IMDb | Rotten Tomatoes | Directors | Cast | Genres | Country | ... | Plotline | Runtime | Kind | Seasons | Netflix | Hulu | Prime Video | Disney+ | Type | Service Provider | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | Snowpiercer | 2013 | 18 | 6.9 | 94 | NA | Daveed Diggs,Iddo Goldberg,Mickey Sumner,Aliso... | Action,Drama,Sci-Fi,Thriller | United States | ... | Set seven years after the world has become a f... | 60 | tv series | 3 | 1 | 0 | 0 | 0 | 1 | Netflix |
| 1 | 2 | Philadelphia | 1993 | 13 | 8.8 | 80 | NA | Charlie Day,Glenn Howerton,Rob McElhenney,Kait... | Comedy | United States | ... | The gang, 5 raging alcoholic, narcissists run ... | 22 | tv series | 18 | 1 | 0 | 0 | 0 | 1 | Netflix |
| 2 | 3 | Roma | 2018 | 18 | 8.7 | 93 | NA | Kevin McKidd,Ray Stevenson,Polly Walker,Kerry ... | Action,Drama,History,Romance,War | United Kingdom,United States | ... | In this British historical drama, the turbulen... | 52 | tv series | 2 | 1 | 0 | 0 | 0 | 1 | Netflix |
| 3 | 4 | Amy | 2015 | 18 | 7 | 87 | NA | Amy Brenneman,Richard T. Jones,Jessica Tuck,Ma... | Drama | United States | ... | A family drama focused on three generations of... | 60 | tv series | 6 | 1 | 0 | 1 | 1 | 1 | Netflix |
| 4 | 5 | The Young Offenders | 2016 | NR | 8 | 100 | NA | Alex Murphy,Chris Walley,Hilary Rose,Dominic M... | Comedy | United Kingdom,Ireland | ... | NA | 30 | tv series | 3 | 1 | 0 | 0 | 0 | 1 | Netflix |
5 rows × 21 columns
df_tvshows.describe()
| ID | Year | Seasons | Netflix | Hulu | Prime Video | Disney+ | Type | |
|---|---|---|---|---|---|---|---|---|
| count | 5432.000000 | 5432.000000 | 5432.000000 | 5432.000000 | 5432.000000 | 5432.000000 | 5432.000000 | 5432.0 |
| mean | 2716.500000 | 2010.668446 | 3.012334 | 0.341311 | 0.293999 | 0.403351 | 0.033689 | 1.0 |
| std | 1568.227662 | 11.726176 | 4.105634 | 0.474193 | 0.455633 | 0.490615 | 0.180445 | 0.0 |
| min | 1.000000 | 1901.000000 | 1.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 1.0 |
| 25% | 1358.750000 | 2009.000000 | 1.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 1.0 |
| 50% | 2716.500000 | 2014.000000 | 1.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 1.0 |
| 75% | 4074.250000 | 2017.000000 | 3.000000 | 1.000000 | 1.000000 | 1.000000 | 0.000000 | 1.0 |
| max | 5432.000000 | 2020.000000 | 53.000000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 1.0 |
df_tvshows.corr()
| ID | Year | Seasons | Netflix | Hulu | Prime Video | Disney+ | Type | |
|---|---|---|---|---|---|---|---|---|
| ID | 1.000000 | -0.031346 | -0.048292 | -0.646330 | 0.034293 | 0.441264 | 0.195409 | NaN |
| Year | -0.031346 | 1.000000 | -0.219170 | 0.222316 | -0.065807 | -0.198675 | -0.022741 | NaN |
| Seasons | -0.048292 | -0.219170 | 1.000000 | -0.052478 | 0.223957 | -0.061613 | 0.001924 | NaN |
| Netflix | -0.646330 | 0.222316 | -0.052478 | 1.000000 | -0.366515 | -0.515086 | -0.119344 | NaN |
| Hulu | 0.034293 | -0.065807 | 0.223957 | -0.366515 | 1.000000 | -0.377374 | -0.075701 | NaN |
| Prime Video | 0.441264 | -0.198675 | -0.061613 | -0.515086 | -0.377374 | 1.000000 | -0.151442 | NaN |
| Disney+ | 0.195409 | -0.022741 | 0.001924 | -0.119344 | -0.075701 | -0.151442 | 1.000000 | NaN |
| Type | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
# df_tvshows.sort_values('Year', ascending = True)
# df_tvshows.sort_values('IMDb', ascending = False)
# df_tvshows.to_csv(path_or_buf= '/content/drive/MyDrive/Files/updated_otttvshows.csv', index = False)
# path = '/content/drive/MyDrive/Files/'
# udf_tvshows = pd.read_csv(path + 'updated_otttvshows.csv')
# udf_tvshows
# df_netflix_tvshows = df_tvshows.loc[(df_tvshows['Netflix'] > 0)]
# df_hulu_tvshows = df_tvshows.loc[(df_tvshows['Hulu'] > 0)]
# df_prime_video_tvshows = df_tvshows.loc[(df_tvshows['Prime Video'] > 0)]
# df_disney_tvshows = df_tvshows.loc[(df_tvshows['Disney+'] > 0)]
df_netflix_only_tvshows = df_tvshows[(df_tvshows['Netflix'] == 1) & (df_tvshows['Hulu'] == 0) & (df_tvshows['Prime Video'] == 0 ) & (df_tvshows['Disney+'] == 0)]
df_hulu_only_tvshows = df_tvshows[(df_tvshows['Netflix'] == 0) & (df_tvshows['Hulu'] == 1) & (df_tvshows['Prime Video'] == 0 ) & (df_tvshows['Disney+'] == 0)]
df_prime_video_only_tvshows = df_tvshows[(df_tvshows['Netflix'] == 0) & (df_tvshows['Hulu'] == 0) & (df_tvshows['Prime Video'] == 1 ) & (df_tvshows['Disney+'] == 0)]
df_disney_only_tvshows = df_tvshows[(df_tvshows['Netflix'] == 0) & (df_tvshows['Hulu'] == 0) & (df_tvshows['Prime Video'] == 0 ) & (df_tvshows['Disney+'] == 1)]
df_tvshows_ott = df_tvshows.copy()
df_tvshows_ott.drop(df_tvshows_ott.loc[df_tvshows_ott['Title'] == "NA"].index, inplace = True)
# df_tvshows_ott = df_tvshows_ott[df_tvshows_ott.Title != "NA"]
# Creating distinct dataframes only with the tvshows present on individual streaming platforms
netflix_ott_tvshows = df_tvshows_ott.loc[df_tvshows_ott['Netflix'] == 1]
hulu_ott_tvshows = df_tvshows_ott.loc[df_tvshows_ott['Hulu'] == 1]
prime_video_ott_tvshows = df_tvshows_ott.loc[df_tvshows_ott['Prime Video'] == 1]
disney_ott_tvshows = df_tvshows_ott.loc[df_tvshows_ott['Disney+'] == 1]
df_tvshows_ott_group = df_tvshows_ott.copy()
plt.figure(figsize = (10, 10))
corr = df_tvshows_ott.corr()
# Plot figsize
fig, ax = plt.subplots(figsize=(10, 8))
# Generate Heat Map, allow annotations and place floats in map
sns.heatmap(corr, cmap = 'magma', annot = True, fmt = ".2f")
# Apply xticks
plt.xticks(range(len(corr.columns)), corr.columns);
# Apply yticks
plt.yticks(range(len(corr.columns)), corr.columns)
# show plot
plt.show()
fig.show()
<Figure size 720x720 with 0 Axes>
print('\nTV Shows Available on All Platfroms Are : \n')
df_tvshows_ott.head(5)
TV Shows Available on All Platfroms Are :
| ID | Title | Year | Age | IMDb | Rotten Tomatoes | Directors | Cast | Genres | Country | ... | Plotline | Runtime | Kind | Seasons | Netflix | Hulu | Prime Video | Disney+ | Type | Service Provider | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | Snowpiercer | 2013 | 18 | 6.9 | 94 | NA | Daveed Diggs,Iddo Goldberg,Mickey Sumner,Aliso... | Action,Drama,Sci-Fi,Thriller | United States | ... | Set seven years after the world has become a f... | 60 | tv series | 3 | 1 | 0 | 0 | 0 | 1 | Netflix |
| 1 | 2 | Philadelphia | 1993 | 13 | 8.8 | 80 | NA | Charlie Day,Glenn Howerton,Rob McElhenney,Kait... | Comedy | United States | ... | The gang, 5 raging alcoholic, narcissists run ... | 22 | tv series | 18 | 1 | 0 | 0 | 0 | 1 | Netflix |
| 2 | 3 | Roma | 2018 | 18 | 8.7 | 93 | NA | Kevin McKidd,Ray Stevenson,Polly Walker,Kerry ... | Action,Drama,History,Romance,War | United Kingdom,United States | ... | In this British historical drama, the turbulen... | 52 | tv series | 2 | 1 | 0 | 0 | 0 | 1 | Netflix |
| 3 | 4 | Amy | 2015 | 18 | 7 | 87 | NA | Amy Brenneman,Richard T. Jones,Jessica Tuck,Ma... | Drama | United States | ... | A family drama focused on three generations of... | 60 | tv series | 6 | 1 | 0 | 1 | 1 | 1 | Netflix |
| 4 | 5 | The Young Offenders | 2016 | NR | 8 | 100 | NA | Alex Murphy,Chris Walley,Hilary Rose,Dominic M... | Comedy | United Kingdom,Ireland | ... | NA | 30 | tv series | 3 | 1 | 0 | 0 | 0 | 1 | Netflix |
5 rows × 21 columns
print('\nTV Shows Available on Netflix Are : \n')
netflix_ott_tvshows.head(5)
TV Shows Available on Netflix Are :
| ID | Title | Year | Age | IMDb | Rotten Tomatoes | Directors | Cast | Genres | Country | ... | Plotline | Runtime | Kind | Seasons | Netflix | Hulu | Prime Video | Disney+ | Type | Service Provider | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | Snowpiercer | 2013 | 18 | 6.9 | 94 | NA | Daveed Diggs,Iddo Goldberg,Mickey Sumner,Aliso... | Action,Drama,Sci-Fi,Thriller | United States | ... | Set seven years after the world has become a f... | 60 | tv series | 3 | 1 | 0 | 0 | 0 | 1 | Netflix |
| 1 | 2 | Philadelphia | 1993 | 13 | 8.8 | 80 | NA | Charlie Day,Glenn Howerton,Rob McElhenney,Kait... | Comedy | United States | ... | The gang, 5 raging alcoholic, narcissists run ... | 22 | tv series | 18 | 1 | 0 | 0 | 0 | 1 | Netflix |
| 2 | 3 | Roma | 2018 | 18 | 8.7 | 93 | NA | Kevin McKidd,Ray Stevenson,Polly Walker,Kerry ... | Action,Drama,History,Romance,War | United Kingdom,United States | ... | In this British historical drama, the turbulen... | 52 | tv series | 2 | 1 | 0 | 0 | 0 | 1 | Netflix |
| 3 | 4 | Amy | 2015 | 18 | 7 | 87 | NA | Amy Brenneman,Richard T. Jones,Jessica Tuck,Ma... | Drama | United States | ... | A family drama focused on three generations of... | 60 | tv series | 6 | 1 | 0 | 1 | 1 | 1 | Netflix |
| 4 | 5 | The Young Offenders | 2016 | NR | 8 | 100 | NA | Alex Murphy,Chris Walley,Hilary Rose,Dominic M... | Comedy | United Kingdom,Ireland | ... | NA | 30 | tv series | 3 | 1 | 0 | 0 | 0 | 1 | Netflix |
5 rows × 21 columns
print('\nTV Shows Available on Hulu Are : \n')
hulu_ott_tvshows.head(5)
TV Shows Available on Hulu Are :
| ID | Title | Year | Age | IMDb | Rotten Tomatoes | Directors | Cast | Genres | Country | ... | Plotline | Runtime | Kind | Seasons | Netflix | Hulu | Prime Video | Disney+ | Type | Service Provider | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 16 | 17 | The Oath | 2016 | NR | 6.6 | 88 | NA | Ryan Kwanten,Katrina Law,Cory Hardrict,Joseph ... | Crime,Drama | United States | ... | NA | 60 | tv series | 2 | 1 | 1 | 0 | 0 | 1 | Netflix |
| 29 | 30 | Zapped | 2014 | 0 | 6.8 | 6 | Peter DeLuise | James Buckley,Kenneth Collard,Louis Emerick,Pa... | Comedy,Fantasy | United Kingdom | ... | NA | 30 | tv series | 3 | 1 | 1 | 0 | 1 | 1 | Netflix |
| 101 | 102 | Vice | 2018 | 18 | 8.3 | 46 | NA | Julia Louis-Dreyfus,Anna Chlumsky,Tony Hale,Re... | Comedy | United States | ... | Politics is about people, former Sen. Selina M... | 28 | tv series | 7 | 0 | 1 | 0 | 0 | 1 | Hulu |
| 102 | 103 | Get Smart | 2008 | 13 | 8.2 | 51 | Peter Segal | Don Adams,Barbara Feldon,Edward Platt,Robert K... | Action,Adventure,Comedy,Crime,Family,Mystery,S... | United States | ... | Maxwell Smart is a bumbling secret agent, assi... | 25 | tv series | 5 | 0 | 1 | 0 | 0 | 1 | Hulu |
| 103 | 104 | Amazing Grace | 2018 | 0 | 7.1 | 67 | Michael Apted | Kate Jenkinson,Sigrid Thornton,Alex Dimitriade... | Drama | Australia | ... | The series centres on midwife Grace and her pa... | 118 | tv series | 1 | 0 | 1 | 0 | 0 | 1 | Hulu |
5 rows × 21 columns
print('\nTV Shows Available on Prime Video Are : \n')
prime_video_ott_tvshows.head(5)
TV Shows Available on Prime Video Are :
| ID | Title | Year | Age | IMDb | Rotten Tomatoes | Directors | Cast | Genres | Country | ... | Plotline | Runtime | Kind | Seasons | Netflix | Hulu | Prime Video | Disney+ | Type | Service Provider | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 3 | 4 | Amy | 2015 | 18 | 7 | 87 | NA | Amy Brenneman,Richard T. Jones,Jessica Tuck,Ma... | Drama | United States | ... | A family drama focused on three generations of... | 60 | tv series | 6 | 1 | 0 | 1 | 1 | 1 | Netflix |
| 7 | 8 | Retribution | 2015 | NR | 7 | 28 | NA | Joanna Vanderham,John Lynch,Joe Dempsie,Julie ... | Drama,Mystery,Thriller | United Kingdom | ... | Childhood sweethearts Adam Elliot and Grace Do... | 231 | tv series | 1 | 1 | 0 | 1 | 0 | 1 | Netflix |
| 15 | 16 | Eli | 2019 | 18 | 7.9 | 46 | NA | Sacha Baron Cohen,Hadar Ratzon Rotem,Yael Eita... | Drama,History | France | ... | Israel, 1959. The Mossad are desperate to embe... | 53 | tv series | 1 | 1 | 0 | 1 | 0 | 1 | Netflix |
| 17 | 18 | Zero | 2018 | NR | 5.5 | 88 | Aanand L. Rai | Giuseppe Dave Seke,Haroun Fall,Beatrice Grannò... | Action,Comedy,Drama,Fantasy,Sci-Fi | Italy | ... | NA | 164 | tv series | 1 | 1 | 0 | 1 | 0 | 1 | Netflix |
| 18 | 19 | The Outsider | 2018 | NR | 7.8 | 36 | NA | Ben Mendelsohn,Bill Camp,Jeremy Bobb,Mare Winn... | Crime,Drama,Fantasy,Mystery,Thriller | United States | ... | The Outsider begins with a seemingly straightf... | 60 | tv series | 1 | 1 | 0 | 1 | 0 | 1 | Netflix |
5 rows × 21 columns
print('\nTV Shows Available on Disney+ Are : \n')
disney_ott_tvshows.head(5)
TV Shows Available on Disney+ Are :
| ID | Title | Year | Age | IMDb | Rotten Tomatoes | Directors | Cast | Genres | Country | ... | Plotline | Runtime | Kind | Seasons | Netflix | Hulu | Prime Video | Disney+ | Type | Service Provider | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 3 | 4 | Amy | 2015 | 18 | 7 | 87 | NA | Amy Brenneman,Richard T. Jones,Jessica Tuck,Ma... | Drama | United States | ... | A family drama focused on three generations of... | 60 | tv series | 6 | 1 | 0 | 1 | 1 | 1 | Netflix |
| 29 | 30 | Zapped | 2014 | 0 | 6.8 | 6 | Peter DeLuise | James Buckley,Kenneth Collard,Louis Emerick,Pa... | Comedy,Fantasy | United Kingdom | ... | NA | 30 | tv series | 3 | 1 | 1 | 0 | 1 | 1 | Netflix |
| 482 | 483 | Avatar | 2009 | 13 | 9.2 | 82 | NA | Dee Bradley Baker,Zach Tyler,Mae Whitman,Jack ... | Animation,Action,Adventure,Family,Fantasy,Mystery | United States | ... | In a suburban fantasy world, two teenage elf b... | 23 | tv series | 3 | 0 | 0 | 0 | 1 | 1 | Disney+ |
| 483 | 484 | Invincible | 2006 | 7 | 8.8 | 72 | Angelina Jolie | Steven Yeun,Sandra Oh,J.K. Simmons,Zazie Beetz... | Animation,Action,Adventure,Drama,Fantasy,Horro... | United States | ... | In February of 1952, one of the worst storms t... | 137 | tv series | 1 | 0 | 0 | 0 | 1 | 1 | Disney+ |
| 484 | 485 | High School Musical | 2006 | 0 | 7.4 | 63 | Kenny Ortega | Joshua Bassett,Olivia Rodrigo,Matt Cornett,Jul... | Comedy,Drama,Musical | United States | ... | The famous race car Lightning McQueen and his ... | 31 | tv series | 2 | 0 | 0 | 0 | 1 | 1 | Disney+ |
5 rows × 21 columns
print(f'''
Total '{df_tvshows_ott['Title'].count()}' Titles are available on All Platforms, out of Which,\n
Total '{netflix_ott_tvshows['Title'].count()}' Titles are available on 'Netflix'
Total '{hulu_ott_tvshows['Title'].count()}' Titles are available on 'Hulu'
Total '{prime_video_ott_tvshows['Title'].count()}' Titles are available on 'Prime video'
Total '{disney_ott_tvshows['Title'].count()}' Titles are available on 'Disney+'
''')
Total '5432' Titles are available on All Platforms, out of Which,
Total '1854' Titles are available on 'Netflix'
Total '1597' Titles are available on 'Hulu'
Total '2191' Titles are available on 'Prime video'
Total '183' Titles are available on 'Disney+'
Platform = ['Netflix', 'Hulu', 'Prime Video', 'Disney+']
Count = [netflix_ott_tvshows['Title'].count(),
hulu_ott_tvshows['Title'].count(),
prime_video_ott_tvshows['Title'].count(),
disney_ott_tvshows['Title'].count()]
fig = px.pie(names = Platform,
values = Count,
title = 'TV Shows Count Of Different Platforms',
color_discrete_sequence = px.colors.sequential.Teal)
fig.update_traces(textposition = 'inside',
textinfo = 'percent + label')
fig.show()
df_tvshows_ott['OTT Count'] = df_tvshows_ott['Netflix'] + df_tvshows_ott['Hulu'] + df_tvshows_ott['Prime Video'] + df_tvshows_ott['Disney+']
(df_tvshows_ott['OTT Count'].value_counts()/df_tvshows_ott.shape[0])*100
1 93.372607 2 6.019882 3 0.607511 Name: OTT Count, dtype: float64
print(f'''
Total '{df_tvshows_ott[df_tvshows_ott['OTT Count'] == 4].shape[0]}' Titles are available on All Platforms
Total '{df_tvshows_ott[df_tvshows_ott['OTT Count'] == 3].shape[0]}' Titles are available on at least 3 Platforms
Total '{df_tvshows_ott[df_tvshows_ott['OTT Count'] == 2].shape[0]}' Titles are available on at least 2 Platforms
Total '{df_tvshows_ott[df_tvshows_ott['OTT Count'] == 1].shape[0]}' Titles are available on at least 1 Platforms
''')
Total '0' Titles are available on All Platforms
Total '33' Titles are available on at least 3 Platforms
Total '327' Titles are available on at least 2 Platforms
Total '5072' Titles are available on at least 1 Platforms
# TV Shows Available on All Platforms
# df_tvshows_ott[(df_tvshows_ott['Netflix'] == 1) & (df_tvshows_ott['Hulu'] == 1) & (df_tvshows_ott['Prime Video'] == 1) & (df_tvshows_ott['Disney+'] == 1)]
print('\nTotal ', df_tvshows_ott[df_tvshows_ott['OTT Count'] == 4].shape[0], ' Titles are available on All Platforms\n')
tvshows_on_4_platforms = df_tvshows_ott[df_tvshows_ott['OTT Count'] == 4]
tvshows_on_4_platforms
Total 0 Titles are available on All Platforms
| ID | Title | Year | Age | IMDb | Rotten Tomatoes | Directors | Cast | Genres | Country | ... | Runtime | Kind | Seasons | Netflix | Hulu | Prime Video | Disney+ | Type | Service Provider | OTT Count |
|---|
0 rows × 22 columns
# TV Shows Available on at least 3 Platforms
print('\nTotal ', df_tvshows_ott[df_tvshows_ott['OTT Count'] == 3].shape[0], ' Titles are available on at least 3 Platforms\n')
tvshows_on_3_platforms = df_tvshows_ott[df_tvshows_ott['OTT Count'] == 3]
tvshows_on_3_platforms
Total 33 Titles are available on at least 3 Platforms
| ID | Title | Year | Age | IMDb | Rotten Tomatoes | Directors | Cast | Genres | Country | ... | Runtime | Kind | Seasons | Netflix | Hulu | Prime Video | Disney+ | Type | Service Provider | OTT Count | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 3 | 4 | Amy | 2015 | 18 | 7 | 87 | NA | Amy Brenneman,Richard T. Jones,Jessica Tuck,Ma... | Drama | United States | ... | 60 | tv series | 6 | 1 | 0 | 1 | 1 | 1 | Netflix | 3 |
| 29 | 30 | Zapped | 2014 | 0 | 6.8 | 6 | Peter DeLuise | James Buckley,Kenneth Collard,Louis Emerick,Pa... | Comedy,Fantasy | United Kingdom | ... | 30 | tv series | 3 | 1 | 1 | 0 | 1 | 1 | Netflix | 3 |
| 522 | 523 | Parks and Recreation | 2009 | 7 | 8.6 | 93 | NA | Amy Poehler,Nick Offerman,Aubrey Plaza,Jim O'H... | Comedy | United States | ... | 22 | tv series | 7 | 1 | 1 | 1 | 0 | 1 | Netflix | 3 |
| 566 | 567 | Star Trek: The Next Generation | 1987 | 7 | 8.6 | 91 | NA | Patrick Stewart,Jonathan Frakes,LeVar Burton,M... | Action,Adventure,Mystery,Sci-Fi | United States | ... | 44 | tv series | 7 | 1 | 1 | 1 | 0 | 1 | Netflix | 3 |
| 574 | 575 | The Good Wife | 2009 | 7 | 8.3 | 93 | NA | Julianna Margulies,Matt Czuchry,Christine Bara... | Crime,Drama,Mystery | United States | ... | 43 | tv series | 7 | 1 | 1 | 1 | 0 | 1 | Netflix | 3 |
| 591 | 592 | Burn Notice | 2007 | 7 | 7.9 | 88 | NA | Jeffrey Donovan,Gabrielle Anwar,Bruce Campbell... | Action,Crime,Drama,Mystery,Thriller | United States | ... | 44 | tv series | 7 | 1 | 1 | 1 | 0 | 1 | Netflix | 3 |
| 596 | 597 | American Horror Story | 2011 | 18 | 8 | NA | NA | Evan Peters,Sarah Paulson,Denis O'Hare,Kathy B... | Drama,Horror,Thriller | United States | ... | 60 | tv series | 13 | 1 | 1 | 1 | 0 | 1 | Netflix | 3 |
| 602 | 603 | Star Trek | 1966 | 7 | 8.3 | 80 | NA | Leonard Nimoy,William Shatner,DeForest Kelley,... | Action,Adventure,Sci-Fi | United States | ... | 50 | tv series | 3 | 1 | 1 | 1 | 0 | 1 | Netflix | 3 |
| 626 | 627 | Mushi-Shi | 2005 | 16 | 8.5 | 100 | NA | Yûto Nakano,Travis Willingham,Kôjun Itô,Jennif... | Animation,Drama,Fantasy,Horror,Mystery,Thriller | Japan | ... | 25 | tv series | 1 | 1 | 1 | 1 | 0 | 1 | Netflix | 3 |
| 643 | 644 | Star Trek: Deep Space Nine | 1993 | 7 | 8 | 91 | NA | Avery Brooks,Rene Auberjonois,Cirroc Lofton,Al... | Action,Adventure,Drama,Sci-Fi | United States | ... | 45 | tv series | 7 | 1 | 1 | 1 | 0 | 1 | Netflix | 3 |
| 654 | 655 | Law & Order: Special Victims Unit | 1999 | 7 | 8 | 78 | NA | Mariska Hargitay,Ice-T,Dann Florek,Richard Bel... | Crime,Drama,Mystery,Thriller | United States | ... | 60 | tv series | 24 | 1 | 1 | 1 | 0 | 1 | Netflix | 3 |
| 681 | 682 | Star Trek: Voyager | 1995 | 7 | 7.8 | 76 | NA | Kate Mulgrew,Robert Beltran,Roxann Dawson,Robe... | Action,Adventure,Sci-Fi | United States | ... | 44 | tv series | 7 | 1 | 1 | 1 | 0 | 1 | Netflix | 3 |
| 706 | 707 | Merlin | 2008 | 16 | 7.9 | 85 | NA | John Hurt,Colin Morgan,Bradley James,Richard W... | Adventure,Drama,Fantasy | United Kingdom | ... | 45 | tv series | 5 | 1 | 1 | 1 | 0 | 1 | Netflix | 3 |
| 741 | 742 | Pokémon | 1997 | 0 | 7.5 | NA | NA | Ikue Ôtani,Rica Matsumoto,Rodger Parsons,Shin'... | Animation,Action,Adventure,Comedy,Family,Fantasy | Japan | ... | 24 | tv series | 23 | 1 | 1 | 1 | 0 | 1 | Netflix | 3 |
| 742 | 743 | Cheers | 1982 | 7 | 7.8 | NA | NA | Ted Danson,Rhea Perlman,John Ratzenberger,Geor... | Comedy,Drama | United States | ... | 22 | tv series | 11 | 1 | 1 | 1 | 0 | 1 | Netflix | 3 |
| 744 | 745 | Star Trek: Enterprise | 2001 | 7 | 7.5 | 57 | NA | Scott Bakula,John Billingsley,Jolene Blalock,D... | Action,Adventure,Drama,Sci-Fi | United States | ... | 60 | tv series | 4 | 1 | 1 | 1 | 0 | 1 | Netflix | 3 |
| 782 | 783 | Descendants of the Sun | 2016 | 16 | 8.3 | NA | NA | Song Joong-Ki,Song Hye-Kyo,Jin Goo,Kim Ji-Won,... | Action,Comedy,Drama,Romance | South Korea | ... | 60 | tv series | 1 | 1 | 1 | 1 | 0 | 1 | Netflix | 3 |
| 786 | 787 | Ancient Aliens | 2010 | 7 | 7.3 | NA | NA | Robert Clotworthy,Giorgio A. Tsoukalos,David C... | Documentary,Fantasy,History,Sci-Fi | United States | ... | 42 | tv series | 16 | 1 | 1 | 1 | 0 | 1 | Netflix | 3 |
| 830 | 831 | Rake | 2010 | 16 | 8.5 | 100 | NA | Richard Roxburgh,Matt Day,Kate Box,Caroline Br... | Comedy,Drama | Australia | ... | 60 | tv series | 5 | 1 | 1 | 1 | 0 | 1 | Netflix | 3 |
| 839 | 840 | H2O: Just Add Water | 2006 | 7 | 7.2 | NA | NA | Cariba Heine,Phoebe Tonkin,Angus McLaren,Burge... | Drama,Family,Fantasy | Australia | ... | 23 | tv series | 3 | 1 | 1 | 1 | 0 | 1 | Netflix | 3 |
| 945 | 946 | Forensic Files | 1996 | 16 | 8.8 | NA | NA | Peter Thomas,Tom Bevel,Skip Palenik,Lowell Lev... | Documentary,Crime | United States | ... | 30 | tv series | 15 | 1 | 1 | 1 | 0 | 1 | Netflix | 3 |
| 995 | 996 | America's Funniest Home Videos | 1989 | 0 | 6.2 | NA | NA | Jess Harnell,Tom Bergeron,Bob Saget,Ernie Ande... | Comedy,Family,Reality-TV | United States | ... | 30 | tv series | 31 | 1 | 1 | 0 | 1 | 1 | Netflix | 3 |
| 1043 | 1044 | Yu-Gi-Oh! | 1998 | 7 | 7.2 | NA | NA | Dan Green,Wayne Grayson,Amy Birnbaum,Eric Stua... | Animation,Action,Adventure,Family,Fantasy | Japan | ... | 24 | tv series | 5 | 1 | 1 | 1 | 0 | 1 | Netflix | 3 |
| 1162 | 1163 | Sonic x | 2003 | 7 | 6.2 | NA | NA | Gabriella Lewis,Jun'ichi Kanemaru,Sanae Kobaya... | Animation,Action,Adventure,Comedy,Family,Fanta... | Japan | ... | 30 | tv series | 3 | 1 | 1 | 1 | 0 | 1 | Netflix | 3 |
| 1326 | 1327 | Hangar 1: The UFO Files | 2015 | 7 | 7.3 | NA | NA | Cornell Womack,John Ventre,Jeremy Ray,Nik Petc... | Mystery,Reality-TV,Sci-Fi | NA | ... | NA | tv series | 2 | 1 | 1 | 1 | 0 | 1 | Netflix | 3 |
| 1370 | 1371 | Pocoyo | 2005 | 0 | 7.4 | NA | NA | Stephen Fry,Alex Marty,Montana Smedley,Stephen... | Animation,Comedy,Family | Spain,United Kingdom | ... | 7 | tv series | 4 | 1 | 1 | 1 | 0 | 1 | Netflix | 3 |
| 1438 | 1439 | Yu-Gi-Oh! Arc-V | 2014 | 7 | 6.2 | NA | NA | Mike Liscio,Alyson Leigh Rosenfeld,Daniel J. E... | Animation,Adventure,Fantasy | Japan,Canada | ... | 20 | tv series | 3 | 1 | 1 | 1 | 0 | 1 | Netflix | 3 |
| 1441 | 1442 | America's Book of Secrets | 2012 | 16 | 6.8 | NA | NA | Barry Aird,Jonathan Adams,Alex Jones,Ronald Ke... | Documentary | United States | ... | 44 | tv series | 3 | 1 | 1 | 1 | 0 | 1 | Netflix | 3 |
| 1676 | 1677 | Oddbods | 2015 | 7 | 6.4 | NA | NA | Marlon Dance-Hooi,Nadia Ramlee,Jeremy Linn,Su-... | Animation,Comedy,Family | United Kingdom,Singapore | ... | NA | tv series | 6 | 1 | 1 | 1 | 0 | 1 | Netflix | 3 |
| 1734 | 1735 | Yu-Gi-Oh! Zexal | 2011 | 7 | 4.9 | NA | NA | Marc Thompson,Sean Schemmel,Eileen Stevens,Mic... | Animation,Action,Comedy,Fantasy,Sci-Fi | Japan | ... | NA | tv series | 6 | 1 | 1 | 1 | 0 | 1 | Netflix | 3 |
| 1764 | 1765 | LEGO Friends | 2012 | 0 | 5.3 | NA | NA | Alexa Kahn,Rachelle Heger,Erica Mendez,Mariann... | Animation | NA | ... | 4 | tv series | 4 | 1 | 1 | 1 | 0 | 1 | Netflix | 3 |
| 1981 | 1982 | Pororo the Little Penguin | 2003 | 0 | 5.9 | NA | NA | So-yeong Hong,Goo Ja-Hyeong,Hwan Chin Kim,Mi J... | Animation,Family | South Korea | ... | NA | tv series | 6 | 1 | 1 | 1 | 0 | 1 | Netflix | 3 |
| 2028 | 2029 | Tayo the Little Bus | 2010 | NR | 5.6 | NA | NA | Jul Kohler,Patricia Kalis,Aramis Merlin,Tea Wa... | Animation | South Korea | ... | NA | tv series | 5 | 1 | 1 | 1 | 0 | 1 | Netflix | 3 |
33 rows × 22 columns
# TV Shows Available on at least 2 Platforms
print('\nTotal ', df_tvshows_ott[df_tvshows_ott['OTT Count'] == 2].shape[0], ' Titles are available on at least 2 Platforms\n')
tvshows_on_2_platforms = df_tvshows_ott[df_tvshows_ott['OTT Count'] == 2]
tvshows_on_2_platforms
Total 327 Titles are available on at least 2 Platforms
| ID | Title | Year | Age | IMDb | Rotten Tomatoes | Directors | Cast | Genres | Country | ... | Runtime | Kind | Seasons | Netflix | Hulu | Prime Video | Disney+ | Type | Service Provider | OTT Count | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 7 | 8 | Retribution | 2015 | NR | 7 | 28 | NA | Joanna Vanderham,John Lynch,Joe Dempsie,Julie ... | Drama,Mystery,Thriller | United Kingdom | ... | 231 | tv series | 1 | 1 | 0 | 1 | 0 | 1 | Netflix | 2 |
| 15 | 16 | Eli | 2019 | 18 | 7.9 | 46 | NA | Sacha Baron Cohen,Hadar Ratzon Rotem,Yael Eita... | Drama,History | France | ... | 53 | tv series | 1 | 1 | 0 | 1 | 0 | 1 | Netflix | 2 |
| 16 | 17 | The Oath | 2016 | NR | 6.6 | 88 | NA | Ryan Kwanten,Katrina Law,Cory Hardrict,Joseph ... | Crime,Drama | United States | ... | 60 | tv series | 2 | 1 | 1 | 0 | 0 | 1 | Netflix | 2 |
| 17 | 18 | Zero | 2018 | NR | 5.5 | 88 | Aanand L. Rai | Giuseppe Dave Seke,Haroun Fall,Beatrice Grannò... | Action,Comedy,Drama,Fantasy,Sci-Fi | Italy | ... | 164 | tv series | 1 | 1 | 0 | 1 | 0 | 1 | Netflix | 2 |
| 18 | 19 | The Outsider | 2018 | NR | 7.8 | 36 | NA | Ben Mendelsohn,Bill Camp,Jeremy Bobb,Mare Winn... | Crime,Drama,Fantasy,Mystery,Thriller | United States | ... | 60 | tv series | 1 | 1 | 0 | 1 | 0 | 1 | Netflix | 2 |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| 3680 | 3681 | Rudy Maxa's Travel | 2001 | 0 | 7.8 | NA | NA | Rudy Maxa,Kanoelehua Miller | Documentary | United States | ... | 30 | tv series | 5 | 0 | 1 | 1 | 0 | 1 | Prime Video | 2 |
| 3697 | 3698 | WIRED's Autocomplete Interviews | 2016 | NR | NA | NA | NA | NA | NA | NA | ... | NA | tv series | 1 | 0 | 1 | 1 | 0 | 1 | Prime Video | 2 |
| 3698 | 3699 | Out of Office with Brent Rose | 2015 | NR | NA | NA | NA | Brent Rose | Documentary | United States | ... | NA | tv series | 1 | 0 | 1 | 1 | 0 | 1 | Prime Video | 2 |
| 3707 | 3708 | Bogus Beauty | 2017 | NR | NA | NA | NA | Selorm Kploanyi,Chrissy Mahlmeister | Comedy | United States | ... | NA | tv series | 1 | 0 | 1 | 1 | 0 | 1 | Prime Video | 2 |
| 3714 | 3715 | pocket.watch Challenge Squad | 2018 | NR | 4.4 | NA | NA | Vitaly Gk,Jetta Juriansz,Brandi Say,Dalton Alf... | Family | United States | ... | 23 | tv series | 1 | 0 | 1 | 1 | 0 | 1 | Prime Video | 2 |
327 rows × 22 columns
# TV Shows Available on at least 1 Platform
print('\nTotal ', df_tvshows_ott[df_tvshows_ott['OTT Count'] == 1].shape[0], ' Titles are available on at least 1 Platforms\n')
tvshows_on_1_platforms = df_tvshows_ott[df_tvshows_ott['OTT Count'] == 1]
tvshows_on_1_platforms
Total 5072 Titles are available on at least 1 Platforms
| ID | Title | Year | Age | IMDb | Rotten Tomatoes | Directors | Cast | Genres | Country | ... | Runtime | Kind | Seasons | Netflix | Hulu | Prime Video | Disney+ | Type | Service Provider | OTT Count | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | Snowpiercer | 2013 | 18 | 6.9 | 94 | NA | Daveed Diggs,Iddo Goldberg,Mickey Sumner,Aliso... | Action,Drama,Sci-Fi,Thriller | United States | ... | 60 | tv series | 3 | 1 | 0 | 0 | 0 | 1 | Netflix | 1 |
| 1 | 2 | Philadelphia | 1993 | 13 | 8.8 | 80 | NA | Charlie Day,Glenn Howerton,Rob McElhenney,Kait... | Comedy | United States | ... | 22 | tv series | 18 | 1 | 0 | 0 | 0 | 1 | Netflix | 1 |
| 2 | 3 | Roma | 2018 | 18 | 8.7 | 93 | NA | Kevin McKidd,Ray Stevenson,Polly Walker,Kerry ... | Action,Drama,History,Romance,War | United Kingdom,United States | ... | 52 | tv series | 2 | 1 | 0 | 0 | 0 | 1 | Netflix | 1 |
| 4 | 5 | The Young Offenders | 2016 | NR | 8 | 100 | NA | Alex Murphy,Chris Walley,Hilary Rose,Dominic M... | Comedy | United Kingdom,Ireland | ... | 30 | tv series | 3 | 1 | 0 | 0 | 0 | 1 | Netflix | 1 |
| 5 | 6 | Suburra | 2015 | NR | 7.9 | 91 | NA | Alessandro Borghi,Giacomo Ferrara,Filippo Nigr... | Action,Crime | Italy | ... | 50 | tv series | 3 | 1 | 0 | 0 | 0 | 1 | Netflix | 1 |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| 5427 | 5428 | Awesome Animals | 2013 | 13 | NA | NA | NA | Jake Cuddemi,Alex Wild | NA | NA | ... | NA | tv series | 1 | 0 | 0 | 0 | 1 | 1 | Disney+ | 1 |
| 5428 | 5429 | Tut's Treasures: Hidden Secrets | 2018 | 13 | 7.4 | NA | NA | Aidan Dodson,Salima Ikram,Paul Mercier,Chris N... | Documentary,History | United Kingdom | ... | NA | tv series | 1 | 0 | 0 | 0 | 1 | 1 | Disney+ | 1 |
| 5429 | 5430 | Wild Russia | 2018 | 7 | 8.4 | NA | NA | Christian Brückner,Jason Hildebrandt,Paterson ... | Documentary | Germany | ... | 360 | tv series | 2 | 0 | 0 | 0 | 1 | 1 | Disney+ | 1 |
| 5430 | 5431 | Love & Vets | 2017 | 13 | 8.6 | NA | NA | Will Draper,Francoise Tyler,Olivia,Carrie McCo... | Reality-TV | United States | ... | 42 | tv series | 1 | 0 | 0 | 0 | 1 | 1 | Disney+ | 1 |
| 5431 | 5432 | United States of Animals | 2016 | 13 | 6.3 | NA | NA | Quincy Dunn-Baker,Jo Mendenhall,Dale Anderson,... | NA | United States | ... | 22 | tv series | 1 | 0 | 0 | 0 | 1 | 1 | Disney+ | 1 |
5072 rows × 22 columns
df_netflix_only_tvshows_ott = df_tvshows_ott[(df_tvshows_ott['Netflix'] == 1) & (df_tvshows_ott['Hulu'] == 0) & (df_tvshows_ott['Prime Video'] == 0 ) & (df_tvshows_ott['Disney+'] == 0)]
df_hulu_only_tvshows_ott = df_tvshows_ott[(df_tvshows_ott['Netflix'] == 0) & (df_tvshows_ott['Hulu'] == 1) & (df_tvshows_ott['Prime Video'] == 0 ) & (df_tvshows_ott['Disney+'] == 0)]
df_prime_video_only_tvshows_ott = df_tvshows_ott[(df_tvshows_ott['Netflix'] == 0) & (df_tvshows_ott['Hulu'] == 0) & (df_tvshows_ott['Prime Video'] == 1 ) & (df_tvshows_ott['Disney+'] == 0)]
df_disney_only_tvshows_ott = df_tvshows_ott[(df_tvshows_ott['Netflix'] == 0) & (df_tvshows_ott['Hulu'] == 0) & (df_tvshows_ott['Prime Video'] == 0 ) & (df_tvshows_ott['Disney+'] == 1)]
# TV Shows Available only on Netflix
print('\nTotal ', df_netflix_only_tvshows_ott['Title'].shape[0], ' Titles are available only on Netflix\n')
df_netflix_only_tvshows_ott
Total 1668 Titles are available only on Netflix
| ID | Title | Year | Age | IMDb | Rotten Tomatoes | Directors | Cast | Genres | Country | ... | Runtime | Kind | Seasons | Netflix | Hulu | Prime Video | Disney+ | Type | Service Provider | OTT Count | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | Snowpiercer | 2013 | 18 | 6.9 | 94 | NA | Daveed Diggs,Iddo Goldberg,Mickey Sumner,Aliso... | Action,Drama,Sci-Fi,Thriller | United States | ... | 60 | tv series | 3 | 1 | 0 | 0 | 0 | 1 | Netflix | 1 |
| 1 | 2 | Philadelphia | 1993 | 13 | 8.8 | 80 | NA | Charlie Day,Glenn Howerton,Rob McElhenney,Kait... | Comedy | United States | ... | 22 | tv series | 18 | 1 | 0 | 0 | 0 | 1 | Netflix | 1 |
| 2 | 3 | Roma | 2018 | 18 | 8.7 | 93 | NA | Kevin McKidd,Ray Stevenson,Polly Walker,Kerry ... | Action,Drama,History,Romance,War | United Kingdom,United States | ... | 52 | tv series | 2 | 1 | 0 | 0 | 0 | 1 | Netflix | 1 |
| 4 | 5 | The Young Offenders | 2016 | NR | 8 | 100 | NA | Alex Murphy,Chris Walley,Hilary Rose,Dominic M... | Comedy | United Kingdom,Ireland | ... | 30 | tv series | 3 | 1 | 0 | 0 | 0 | 1 | Netflix | 1 |
| 5 | 6 | Suburra | 2015 | NR | 7.9 | 91 | NA | Alessandro Borghi,Giacomo Ferrara,Filippo Nigr... | Action,Crime | Italy | ... | 50 | tv series | 3 | 1 | 0 | 0 | 0 | 1 | Netflix | 1 |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| 2252 | 2253 | The Polar Sea | 2014 | NR | 6.9 | NA | NA | Gordon Pinsent,George Kourounis | Documentary | Canada | ... | 43 | tv series | 1 | 1 | 0 | 0 | 0 | 1 | Netflix | 1 |
| 2253 | 2254 | JingleKids | 2019 | 7 | 7.9 | NA | NA | Prokhor Chekhovskoy,Sergey Druzyak,Sofya Lebed... | Animation,Adventure,Comedy,Family | Russia | ... | 11 | tv series | 2 | 1 | 0 | 0 | 0 | 1 | Netflix | 1 |
| 2254 | 2255 | Sin Ellas No Hay Paraíso | 2013 | 18 | 7 | NA | NA | Carmen Villalobos,Catherine Siachoque,María Fe... | Action,Crime,Drama,Romance | Colombia,Mexico,United States | ... | 45 | tv series | 1 | 1 | 0 | 0 | 0 | 1 | Netflix | 1 |
| 2255 | 2256 | Slice of Paradise | 2017 | NR | NA | NA | NA | Shelley Ferguson | NA | NA | ... | NA | tv series | 1 | 1 | 0 | 0 | 0 | 1 | Netflix | 1 |
| 2256 | 2257 | Two Fathers | 2013 | NR | 7.7 | NA | NA | Lucia Hsieh,Weber Yang,Megan Lai,Marcus Chang,... | Drama | Taiwan | ... | 50 | tv series | 1 | 1 | 0 | 0 | 0 | 1 | Netflix | 1 |
1668 rows × 22 columns
# TV Shows Available only on Hulu
print('\nTotal ', df_hulu_only_tvshows_ott['Title'].shape[0], ' Titles are available only on Hulu\n')
df_hulu_only_tvshows_ott
Total 1308 Titles are available only on Hulu
| ID | Title | Year | Age | IMDb | Rotten Tomatoes | Directors | Cast | Genres | Country | ... | Runtime | Kind | Seasons | Netflix | Hulu | Prime Video | Disney+ | Type | Service Provider | OTT Count | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 101 | 102 | Vice | 2018 | 18 | 8.3 | 46 | NA | Julia Louis-Dreyfus,Anna Chlumsky,Tony Hale,Re... | Comedy | United States | ... | 28 | tv series | 7 | 0 | 1 | 0 | 0 | 1 | Hulu | 1 |
| 102 | 103 | Get Smart | 2008 | 13 | 8.2 | 51 | Peter Segal | Don Adams,Barbara Feldon,Edward Platt,Robert K... | Action,Adventure,Comedy,Crime,Family,Mystery,S... | United States | ... | 25 | tv series | 5 | 0 | 1 | 0 | 0 | 1 | Hulu | 1 |
| 103 | 104 | Amazing Grace | 2018 | 0 | 7.1 | 67 | Michael Apted | Kate Jenkinson,Sigrid Thornton,Alex Dimitriade... | Drama | Australia | ... | 118 | tv series | 1 | 0 | 1 | 0 | 0 | 1 | Hulu | 1 |
| 104 | 105 | Whitney | 2018 | 18 | 5.7 | 88 | NA | Whitney Cummings,Chris D'Elia,Rhea Seehorn,Zoe... | Comedy | United States | ... | 30 | tv series | 2 | 0 | 1 | 0 | 0 | 1 | Hulu | 1 |
| 105 | 106 | Please Stand By | 2018 | 13 | 8.2 | 56 | NA | Bob Johnson,Ben Wright,William Douglas,Robert ... | Fantasy,Horror,Sci-Fi,Drama,Mystery,Thriller | United States | ... | 51 | tv series | 2 | 0 | 1 | 0 | 0 | 1 | Hulu | 1 |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| 3709 | 3710 | pocket.watch CaptainSparklez mishmash | 2018 | NR | NA | NA | NA | Jordan Maron,Jetta Juriansz,Vitaly Gk | Family | United States | ... | NA | tv series | 1 | 0 | 1 | 0 | 0 | 1 | Hulu | 1 |
| 3710 | 3711 | Newsy | 2016 | NR | NA | NA | NA | Katherine Biek,Julia Davis,Chance Seales | News | United States | ... | NA | tv series | 1 | 0 | 1 | 0 | 0 | 1 | Hulu | 1 |
| 3711 | 3712 | Modd Couples | 2016 | 18 | 5.3 | NA | NA | Jim Colucci,Frank DeCaro,Pamela Hill,William J... | Comedy | United States | ... | NA | tv series | 1 | 0 | 1 | 0 | 0 | 1 | Hulu | 1 |
| 3712 | 3713 | Fantasy Forecast | 2016 | NR | NA | NA | NA | NA | NA | United States | ... | 4 | tv series | 1 | 0 | 1 | 0 | 0 | 1 | Hulu | 1 |
| 3713 | 3714 | Secret Talent Theatre | 2016 | NR | NA | NA | NA | NA | NA | NA | ... | NA | tv series | 1 | 0 | 1 | 0 | 0 | 1 | Hulu | 1 |
1308 rows × 22 columns
# TV Shows Available only on Prime Video
print('\nTotal ', df_prime_video_only_tvshows_ott['Title'].shape[0], ' Titles are available only on Prime Video\n')
df_prime_video_only_tvshows_ott
Total 1938 Titles are available only on Prime Video
| ID | Title | Year | Age | IMDb | Rotten Tomatoes | Directors | Cast | Genres | Country | ... | Runtime | Kind | Seasons | Netflix | Hulu | Prime Video | Disney+ | Type | Service Provider | OTT Count | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 125 | 126 | Nosferatu | 1922 | NR | 6.7 | 97 | NA | Ashleigh Cummings,Ólafur Darri Ólafsson,Jahkar... | Drama,Fantasy,Horror,Mystery | United States | ... | 60 | tv series | 2 | 0 | 0 | 1 | 0 | 1 | Prime Video | 1 |
| 126 | 127 | Three Days of the Condor | 1975 | 18 | 7.7 | 87 | NA | Max Irons,Kristen Hager,Bob Balaban,Sam McCart... | Action,Drama,Thriller | United States | ... | 60 | tv series | 2 | 0 | 0 | 1 | 0 | 1 | Prime Video | 1 |
| 127 | 128 | Woody Allen: A Documentary | 2011 | NR | 7.7 | 90 | Robert B. Weide | Woody Allen,Letty Aronson,Marshall Brickman,Jo... | Documentary,Biography | United States | ... | 192 | tv series | 1 | 0 | 0 | 1 | 0 | 1 | Prime Video | 1 |
| 128 | 129 | City of Ghosts | 2017 | 18 | 8 | 98 | Matt Dillon | Angel Chipagua,Sandra Equihua,Isa Fabro,Judy H... | Animation,Adventure,Family,Fantasy | United States | ... | 20 | tv series | 1 | 0 | 0 | 1 | 0 | 1 | Prime Video | 1 |
| 129 | 130 | Proof | 1991 | 18 | 7.5 | 65 | NA | Eric McCormack,Rachael Leigh Cook,Kelly Rowan,... | Crime,Drama,Mystery,Thriller | United States | ... | 42 | tv series | 3 | 0 | 0 | 1 | 0 | 1 | Prime Video | 1 |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| 5291 | 5292 | Sawyer Sessions | 2015 | NR | NA | NA | Stéphan Aubé | Guillaume Connesson | Music | Denmark | ... | 3 | tv series | 1 | 0 | 0 | 1 | 0 | 1 | Prime Video | 1 |
| 5292 | 5293 | Pinkfong! Dinosaur Songs | 2014 | NR | NA | NA | NA | NA | NA | NA | ... | NA | tv series | 2 | 0 | 0 | 1 | 0 | 1 | Prime Video | 1 |
| 5293 | 5294 | How To Self-Publish | 2017 | NR | NA | NA | NA | Jean-François Gariépy | News | NA | ... | NA | tv series | 1 | 0 | 0 | 1 | 0 | 1 | Prime Video | 1 |
| 5294 | 5295 | BigDo2 - Random Hair | 2016 | NR | NA | NA | NA | NA | NA | NA | ... | NA | tv series | 1 | 0 | 0 | 1 | 0 | 1 | Prime Video | 1 |
| 5295 | 5296 | We`ll Talk When You Get Back | 2015 | NR | NA | NA | NA | Elena Drobysheva,Aleksandra Evchenko,Andrey Fe... | Drama,Romance | Russia | ... | NA | tv series | 1 | 0 | 0 | 1 | 0 | 1 | Prime Video | 1 |
1938 rows × 22 columns
# TV Shows Available only on Disney+
print('\nTotal ', df_disney_only_tvshows_ott['Title'].shape[0], ' Titles are available only on Disney+\n')
df_disney_only_tvshows_ott
Total 158 Titles are available only on Disney+
| ID | Title | Year | Age | IMDb | Rotten Tomatoes | Directors | Cast | Genres | Country | ... | Runtime | Kind | Seasons | Netflix | Hulu | Prime Video | Disney+ | Type | Service Provider | OTT Count | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 482 | 483 | Avatar | 2009 | 13 | 9.2 | 82 | NA | Dee Bradley Baker,Zach Tyler,Mae Whitman,Jack ... | Animation,Action,Adventure,Family,Fantasy,Mystery | United States | ... | 23 | tv series | 3 | 0 | 0 | 0 | 1 | 1 | Disney+ | 1 |
| 483 | 484 | Invincible | 2006 | 7 | 8.8 | 72 | Angelina Jolie | Steven Yeun,Sandra Oh,J.K. Simmons,Zazie Beetz... | Animation,Action,Adventure,Drama,Fantasy,Horro... | United States | ... | 137 | tv series | 1 | 0 | 0 | 0 | 1 | 1 | Disney+ | 1 |
| 484 | 485 | High School Musical | 2006 | 0 | 7.4 | 63 | Kenny Ortega | Joshua Bassett,Olivia Rodrigo,Matt Cornett,Jul... | Comedy,Drama,Musical | United States | ... | 31 | tv series | 2 | 0 | 0 | 0 | 1 | 1 | Disney+ | 1 |
| 485 | 486 | Ruby Bridges | 1998 | 7 | 7.2 | 83 | Euzhan Palcy | Penelope Ann Miller,Kevin Pollak,Michael Beach... | Adventure,Comedy,Drama,Family,Fantasy | United States | ... | 96 | tv series | 1 | 0 | 0 | 0 | 1 | 1 | Disney+ | 1 |
| 486 | 487 | Stargirl | 2020 | 7 | 7.3 | 70 | NA | Brec Bassinger,Yvette Monreal,Anjelika Washing... | Action,Adventure,Crime,Drama,Fantasy,Sci-Fi | United States | ... | 566 | tv series | 2 | 0 | 0 | 0 | 1 | 1 | Disney+ | 1 |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| 5427 | 5428 | Awesome Animals | 2013 | 13 | NA | NA | NA | Jake Cuddemi,Alex Wild | NA | NA | ... | NA | tv series | 1 | 0 | 0 | 0 | 1 | 1 | Disney+ | 1 |
| 5428 | 5429 | Tut's Treasures: Hidden Secrets | 2018 | 13 | 7.4 | NA | NA | Aidan Dodson,Salima Ikram,Paul Mercier,Chris N... | Documentary,History | United Kingdom | ... | NA | tv series | 1 | 0 | 0 | 0 | 1 | 1 | Disney+ | 1 |
| 5429 | 5430 | Wild Russia | 2018 | 7 | 8.4 | NA | NA | Christian Brückner,Jason Hildebrandt,Paterson ... | Documentary | Germany | ... | 360 | tv series | 2 | 0 | 0 | 0 | 1 | 1 | Disney+ | 1 |
| 5430 | 5431 | Love & Vets | 2017 | 13 | 8.6 | NA | NA | Will Draper,Francoise Tyler,Olivia,Carrie McCo... | Reality-TV | United States | ... | 42 | tv series | 1 | 0 | 0 | 0 | 1 | 1 | Disney+ | 1 |
| 5431 | 5432 | United States of Animals | 2016 | 13 | 6.3 | NA | NA | Quincy Dunn-Baker,Jo Mendenhall,Dale Anderson,... | NA | United States | ... | 22 | tv series | 1 | 0 | 0 | 0 | 1 | 1 | Disney+ | 1 |
158 rows × 22 columns
ott_group_count = df_tvshows_ott.groupby('OTT Count')['Title'].count()
ott_group_tvshows = df_tvshows_ott.groupby('OTT Count')[['Netflix', 'Hulu', 'Prime Video', 'Disney+']].sum()
ott_group_data_tvshows = pd.concat([ott_group_count, ott_group_tvshows], axis = 1).reset_index().rename(columns = {'Title' : 'TV Shows Count'})
ott_group_data_tvshows = ott_group_data_tvshows.sort_values(by = 'TV Shows Count', ascending = False)
ott_group_data_tvshows
| OTT Count | TV Shows Count | Netflix | Hulu | Prime Video | Disney+ | |
|---|---|---|---|---|---|---|
| 0 | 1 | 5072 | 1668 | 1308 | 1938 | 158 |
| 1 | 2 | 327 | 153 | 257 | 222 | 22 |
| 2 | 3 | 33 | 33 | 32 | 31 | 3 |
# Title Group with TV Shows Counts - All Platforms Combined
ott_group_data_tvshows.sort_values(by = 'TV Shows Count', ascending = False)
| OTT Count | TV Shows Count | Netflix | Hulu | Prime Video | Disney+ | |
|---|---|---|---|---|---|---|
| 0 | 1 | 5072 | 1668 | 1308 | 1938 | 158 |
| 1 | 2 | 327 | 153 | 257 | 222 | 22 |
| 2 | 3 | 33 | 33 | 32 | 31 | 3 |
ott_group_data_tvshows.sort_values(by = 'OTT Count', ascending = False)
| OTT Count | TV Shows Count | Netflix | Hulu | Prime Video | Disney+ | |
|---|---|---|---|---|---|---|
| 2 | 3 | 33 | 33 | 32 | 31 | 3 |
| 1 | 2 | 327 | 153 | 257 | 222 | 22 |
| 0 | 1 | 5072 | 1668 | 1308 | 1938 | 158 |
fig = px.bar(y = ott_group_data_tvshows['TV Shows Count'],
x = ott_group_data_tvshows['OTT Count'],
color = ott_group_data_tvshows['OTT Count'],
color_continuous_scale = 'Teal_r',
labels = { 'y' : 'TV Shows Count', 'x' : 'OTT Count'},
title = 'TV Shows with Group Title : All Platforms')
fig.update_layout(plot_bgcolor = "white")
fig.show()
fig = px.pie(ott_group_data_tvshows,
names = ott_group_data_tvshows['OTT Count'],
values = ott_group_data_tvshows['TV Shows Count'],
color = ott_group_data_tvshows['TV Shows Count'],
color_discrete_sequence = px.colors.sequential.Teal)
fig.update_traces(textinfo = 'percent+label',
title = 'TV Shows Count based on OTT Count')
fig.show()